package com.meida.module.bus.client.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.meida.common.mybatis.annotation.TableAlias;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 *
 *
 * @author flyme
 * @date 2020-09-26
 */
@Data
@Accessors(chain = true)
@TableName("bus_material_req_plandata")
@TableAlias("bbwpro")
@ApiModel(value="100/200计划数据数据", description="")
public class BusMaterialPlanData implements Serializable {

private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "主键")
    @TableId(value = "materialId", type = IdType.ID_WORKER)
    private Long materialId;

    @ApiModelProperty(value = "父ID")
    private Long parentId;

    @ApiModelProperty(value = "项目ID")
    private Long projectId;

    @ApiModelProperty(value = "换算单位")
    private String conversionUnit;

    @ApiModelProperty(value = "成本综合单价")
    private BigDecimal syntheticalPrice;
    @ApiModelProperty(value = "有合同综合单价")
    private BigDecimal syntheticalPrice1;
    @ApiModelProperty(value = "拟合同综合单价")
    private BigDecimal syntheticalPrice2;
    @ApiModelProperty(value = "合同综合单价")
    private BigDecimal syntheticalPrice3;

    @ApiModelProperty(value = "成本综合费")
    private BigDecimal syntheticalAmount;
    @ApiModelProperty(value = "有合同综合费")
    private BigDecimal syntheticalAmount1;
    @ApiModelProperty(value = "合同综合费")
    private BigDecimal syntheticalAmount2;
    @ApiModelProperty(value = "合同综合费")
    private BigDecimal syntheticalAmount3;

    @ApiModelProperty(value = "其他单价")
    private BigDecimal otherPrice;

    @ApiModelProperty(value = "其他费用")
    private BigDecimal otherAmount;

    @ApiModelProperty(value = "标前工程量")
    private BigDecimal beforeMarkQuantity;

    @ApiModelProperty(value = "合同清单工程量")
    private BigDecimal contractBillQuantity;

    @ApiModelProperty(value = "计量单位")
    private String measurementUnit;

    @ApiModelProperty(value = "损耗")
    private BigDecimal loss;

    @ApiModelProperty(value = "成本主材价")
    private BigDecimal mainPrice;
    @ApiModelProperty(value = "有合同主材价")
    private BigDecimal mainPrice1;
    @ApiModelProperty(value = "拟合同主材价")
    private BigDecimal mainPrice2;
    @ApiModelProperty(value = "合同主材价")
    private BigDecimal mainPrice3;


    @ApiModelProperty(value = "预估总产值有合同主材价")
    private BigDecimal mainsumPrice1;
    @ApiModelProperty(value = "预估总产值拟合同主材价")
    private BigDecimal mainsumPrice2;
    @ApiModelProperty(value = "预估总产值有合同主材价")
    private BigDecimal mainsumPrice3;


    @ApiModelProperty(value = "成本主材费")
    private BigDecimal mainAmount;
    @ApiModelProperty(value = "有合同主材费")
    private BigDecimal mainAmount1;
    @ApiModelProperty(value = "拟合同主材费")
    private BigDecimal mainAmount2;
    @ApiModelProperty(value = "合同主材费")
    private BigDecimal mainAmount3;

    @ApiModelProperty(value = "安装价")
    private BigDecimal installPrice;
    private BigDecimal installPrice1;
    private BigDecimal installPrice2;
    private BigDecimal installPrice3;

    @ApiModelProperty(value = "安装费")
    private BigDecimal installAmount;
    private BigDecimal installAmount1;
    private BigDecimal installAmount2;
    private BigDecimal installAmount3;
    @ApiModelProperty(value = "预估总产值有合同安装价")
    private BigDecimal installsumPrice1;
    @ApiModelProperty(value = "预估总产值拟合同合同安装价")
    private BigDecimal installsumPrice2;
    @ApiModelProperty(value = "预估总产值合同安装价")
    private BigDecimal installsumPrice3;
    @ApiModelProperty(value = "预估总产值有合同合计")
    private BigDecimal contractsumSyntheticalPrice1;
    @ApiModelProperty(value = "预估总产值拟合同合计")
    private BigDecimal contractsumSyntheticalPrice2;
    @ApiModelProperty(value = "预估总产值合同合计")
    private BigDecimal contractsumSyntheticalPrice3;

    @ApiModelProperty(value = "有合同综合单价")
    private BigDecimal contractSyntheticalPrice1;

    @ApiModelProperty(value = "拟合同综合单价")
    private BigDecimal contractSyntheticalPrice2;

    @ApiModelProperty(value = "合同综合单价")
    private BigDecimal contractSyntheticalPrice3;
    @ApiModelProperty(value = "100计量单位工程量合计")

    private BigDecimal unitBillQuantity100;
    @ApiModelProperty(value = "100换算单位工程量合计")

    private BigDecimal convertBillQuantity100;
    @ApiModelProperty(value = "200计量单位合计")

    private BigDecimal unitBillQuantity200;
    @ApiModelProperty(value = "200换算工程合计")

    private BigDecimal convertBillQuantity200;
    @ApiModelProperty(value = "采购计划量计量单位合计")

    private BigDecimal planPurchaseCount;
    @ApiModelProperty(value = "采购换算量单位合计")

    private BigDecimal convertPurchaseCount;

    @ApiModelProperty(value = "本月产值主材价")
    private BigDecimal currentMonthmainPrice;
    @ApiModelProperty(value = "本月产值安装价")
    private BigDecimal currentMonthinstallPrice;

    @ApiModelProperty(value = "本月产值综合价")
    private BigDecimal currentMonthsumPrice;

    @ApiModelProperty(value = "截止上个月主材价")
    private BigDecimal lastMonthmainPrice;
    @ApiModelProperty(value = "截止上个月安装价")

    private BigDecimal lastMonthinstallPrice;
    @ApiModelProperty(value = "截止上个月综合单价")

    private BigDecimal lastMonthsumPrice;
    @ApiModelProperty(value = "累计产值主材价")

    private BigDecimal totalMonthmainPrice;
    @ApiModelProperty(value = "累计产值安装价")

    private BigDecimal totalMonthinstallPrice;
    @ApiModelProperty(value = "累计产值综合单价")

    private BigDecimal totalsumPrice;
    @ApiModelProperty(value = "本月完成工程量")
    private BigDecimal currentFinishMonthCount;
    @ApiModelProperty(value = "上月截止完成工程量")
    private BigDecimal lastFinishMonthCount;
    @ApiModelProperty(value = "累计完成工程量")
    private BigDecimal totalFinishCount;

    // --子表字段
    @ApiModelProperty(value = "版本ID")
    private Long versionId;

    @ApiModelProperty(value = "品牌名称")
    private String brandName;

    @ApiModelProperty(value = "专业代码")
    private String majorCode;

    @ApiModelProperty(value = "专业名称")
    private String majorName;

    @ApiModelProperty(value = "工程包代码")
    private String packageNo;

    @ApiModelProperty(value = "工程包名称")
    private String packageName;

    @ApiModelProperty(value = "科目名称")
    private String subjectName;

    @ApiModelProperty(value = "材料WBS代码")
    private String materialWbsCode;

    @ApiModelProperty(value = "物料代码")
    private String materialCode;

    @ApiModelProperty(value = "材料项目描述")
    private String materialDesc;

    @ApiModelProperty(value = "层级号")
    private String levelNo;

    @ApiModelProperty(value = "对外合同描述")
    private String contractDesc;

    @ApiModelProperty(value = "区域")
    private String materialArea;

    @ApiModelProperty(value = "用途")
    private String materialUse;

    @ApiModelProperty(value = "规格")
    private String materiaSpecs;

    @ApiModelProperty(value = "技术参数")
    private String technicalData;

    @ApiModelProperty(value = "材料名称")
    private String materialName;

    @ApiModelProperty(value = "100成本工程量")
    private BigDecimal costQuantity100;

    @ApiModelProperty(value = "200成本工程量")
    private BigDecimal costQuantity200;

    @ApiModelProperty(value = "有合同主材价")
    private BigDecimal contractMainPrice1;

    @ApiModelProperty(value = "拟合同主材价")
    private BigDecimal contractMainPrice2;

    @ApiModelProperty(value = "合同主材价")
    private BigDecimal contractMainPrice3;

    @ApiModelProperty(value = "有合同其他单价")
    private BigDecimal contractOtherPrice1;

    @ApiModelProperty(value = "拟合同其他单价")
    private BigDecimal contractOtherPrice2;

    @ApiModelProperty(value = "合同其他单价")
    private BigDecimal contractOtherPrice3;
    @ApiModelProperty(value = "备注")
    private String remark;
    @ApiModelProperty(value = "剩余采购量")
    private BigDecimal endPurchaseCount;
    @ApiModelProperty(value = "在途采购量")
    private BigDecimal ztPurchaseCount;
    @ApiModelProperty(value = "到货量")
    private BigDecimal dhPurchaseCount;
    @ApiModelProperty(value = "本次采购量")
    private BigDecimal purchaseCount;
    @ApiModelProperty(value = "到货时间")
    private String receivedDate;
    @ApiModelProperty(value = "供应商id")
    private Long vendorId;
    @ApiModelProperty(value = "单据类型")
    private String caseType;
    @ApiModelProperty(value = "是否有开口订单 0否 1是")
    private String  orderflg;
    @ApiModelProperty(value = "是否转存100 0 否 1是")
    private Integer status;
    @ApiModelProperty(value = "材料审批状态")
    private Integer applayStatus;//0未审核 1审批中 2审批完成

    @ApiModelProperty(value = "计划类型 1修改 2追加")
    private Integer planType;
    @ApiModelProperty(value = "0临时版本 1正式版本")
    private Integer versionStatus;
}
